home *** CD-ROM | disk | FTP | other *** search
/ Creative Review 28 / Creative-Review-CD-ROM-28.iso / pc / kungfu / assets / game.dir / 00012_Script_fling manager class < prev    next >
Text File  |  1997-08-08  |  4KB  |  168 lines

  1. -- fling manager class class
  2. -- -------------------------------------------------- 
  3.  
  4. property list
  5. property animlist
  6. property channels
  7. property hitchannels
  8. property freechannels
  9.  
  10. property max
  11. property ducks
  12.  
  13. -- ==================================================
  14. global gcallback, ggame, gplayer, gsound
  15.  
  16. -- ==================================================
  17. -- new method
  18. -- --------------------------------------------------
  19. on new me, props
  20.   
  21.   minit me, props
  22.   return me
  23.   
  24. end mnew 
  25.  
  26. -- ==================================================
  27. -- minit method
  28. -- --------------------------------------------------
  29. on minit me, props
  30.   
  31.   --  put "in minit fling manager"
  32.   
  33.   set numochannels = 4
  34.   set lochannel = 3
  35.   
  36.   set channels = []
  37.   
  38.   
  39.   repeat with channel = ( lochannel ) to ( lochannel + numochannels - 1 )
  40.     add channels, channel
  41.   end repeat
  42.   
  43.   set freechannels = duplicate ( channels )
  44.   
  45.   set hitchannels = [ 20 , 21 ]
  46.   
  47.   set animlist = data2list ( "fling anim data" )
  48.   set ducks = data2list ( "ducks data" )
  49.   
  50.   set list = []
  51.   
  52.   set max = 4
  53.   
  54.   --  put "out minit fling manager"
  55.   
  56.   
  57. end minit
  58.  
  59. -- ==================================================
  60. -- mmake method
  61. -- --------------------------------------------------
  62. on mmake me, props
  63.   
  64.   -- put "in mmake fling manager"
  65.   
  66.   if count ( list ) >= max and count ( freechannels ) then return
  67.   
  68.   set data = getaprop ( props, #data )
  69.   set direction = getaprop ( props, #direction )
  70.   set anims = getaprop ( animlist, data )
  71.   set animdata = getaprop ( anims, direction )
  72.   setaprop props, #animdata, animdata
  73.   
  74.   set move = getaprop ( props, #move )
  75.   set thismovesducks = getaprop ( ducks, move )
  76.   setaprop props, #ducks, thismovesducks
  77.   
  78.   set thechannel = getat ( freechannels, 1 )
  79.   deleteat ( freechannels, 1 )
  80.   
  81.   setaprop ( props, #channel, thechannel  )
  82.   set fling = new ( script "fling class" , props  )
  83.   
  84.   add list, fling
  85.   
  86.   mstart fling
  87.   
  88.   set madecount = madecount + 1
  89.   
  90.   -- put "out mmake fling manager"
  91.   
  92. end mmake me
  93.  
  94. -- ==================================================
  95. -- mreturnthedead method
  96. -- --------------------------------------------------
  97. on mreturnthedead me, thedead
  98.   
  99.   --  put "in mreturnthedead fling manager"
  100.   
  101.   add freechannels, the channel of thedead
  102.   deleteone list , thedead
  103.   
  104.   --  put freechannels
  105.   
  106.   --  put "out mreturnthedead fling manager"
  107.   
  108. end mreturnthedead
  109.  
  110.  
  111. -- ==================================================
  112. -- mhit method
  113. -- --------------------------------------------------
  114. on mhit me, data , actualloc, animname
  115.   
  116.   --  put "in mhit fling manager"
  117.   
  118.   
  119.   set props = [:]
  120.   set anims = getaprop ( animlist, data )
  121.   set props = getaprop ( anims, animname )
  122.   
  123.   set hitanim = new ( script "anim class" , props  )
  124.   
  125.   set thechannel = getat ( hitchannels, 1 )
  126.   deleteat hitchannels, 1 
  127.   append hitchannels, thechannel
  128.   
  129.   set props = [:]
  130.   setaprop props, #channel, thechannel 
  131.   setaprop props, #loc, actualloc 
  132.   set draw = new ( script "draw class" , props )
  133.   
  134.   msetdraw hitanim, [ draw ]
  135.   
  136.   mstart hitanim, me
  137.   
  138.   add list, hitanim
  139.   
  140.   --  put "out mhit fling manager"
  141.   
  142. end mhit me
  143.  
  144. -- ==================================================
  145. -- manimfinish method
  146. -- --------------------------------------------------
  147. on manimfinish me, hitanim
  148.   
  149.   --  put "in manimfinish fling manager"
  150.   
  151.   mhide hitanim
  152.   deleteone list, hitanim
  153.   
  154.   --  put "out manimfinish fling manager"
  155.   
  156. end manimfinish me
  157.  
  158. -- ==================================================
  159. -- mshow method
  160. -- --------------------------------------------------
  161. on mshow me
  162.   
  163.   --  put "in mshow fling manager class"
  164.   
  165.   --  put "out mshow fling manager class"
  166.   
  167. end mshow
  168.